package com.ssy.lingxi.after.sale.model.vo.response;

import com.ssy.lingxi.after.sale.model.bo.PayProveBO;

import java.io.Serializable;

/**
 *
 * @author 伍将
 * @date 2020/10/19
 * @version 2.0.0
 */
public class ReturnGoodsRefundDetailVO implements Serializable {
    private static final long serialVersionUID = 1272366582071619737L;

    /**
     * 退款id
     */
    private Long refundId;

    /**
     * 支付id
     */
    private Long payId;

    /**
     * 支付外部状态：1.待支付2.待确认支付结果3.确认到账4.确认未到账
     */
    private Integer externalState;

    /**
     * 支付次数
     */
    private Integer payCount;

    /**
     * 支付环节
     */
    private String payNode;

    /**
     * 支付比例
     */
    private Double payRatio;

    /**
     * 支付金额
     */
    private Double payAmount;

    /**
     * 支付方式：1.线上支付 2.线下支付 3.授信额度支付 4.货到付款支付
     */
    private Integer payWay;

    /**
     * 支付方式名称
     */
    private String payWayName;

    /**
     * 支付渠道：0.无需支付； 1.支付宝； 2.微信； 3.银联； 4.余额支付； 5.线下支付线上确认； 6.授信额度支付； 7.货到付款； 8.月结；  9.账期；
     * 10.积分支付；  11.微信支付(通联)；  12.支付宝支付(通联)；  13.快捷支付(通联)；  14.网银支付(通联)； 15.余额支付(通联)；
     */
    private Long channel;

    /**
     * 支付渠道名称
     */
    private String channelName;

    /**
     * 退款金额
     */
    private Double refundAmount;

    /**
     * 外部状态: 0.所有 1.待退款 2.待确认退款 3.退款未到账 4.退款到账 5.无需退款
     */
    private Integer outerStatus;

    /**
     * 外部状态名称
     */
    private String outerStatusName;

    /**
     * 内部状态: 0.所有 1.未退款 2.退款失败 3.退款成功 4.无需退款
     */
    private Integer innerStatus;

    /**
     * 内部状态名称
     */
    private String innerStatusName;

    /**
     * 退款时间（yyyy-MM-dd HH:mm）
     */
    private String refundTime;

    /**
     * 支付凭证
     */
    private PayProveBO payProve;

    /**
     * 是否允许退款：0-否，1-是
     */
    private Integer canRefund;

    public Long getPayId() {
        return payId;
    }

    public void setPayId(Long payId) {
        this.payId = payId;
    }

    public Integer getExternalState() {
        return externalState;
    }

    public void setExternalState(Integer externalState) {
        this.externalState = externalState;
    }

    public Integer getCanRefund() {
        return canRefund;
    }

    public void setCanRefund(Integer canRefund) {
        this.canRefund = canRefund;
    }

    public Long getRefundId() {
        return refundId;
    }

    public void setRefundId(Long refundId) {
        this.refundId = refundId;
    }

    public Integer getPayCount() {
        return payCount;
    }

    public void setPayCount(Integer payCount) {
        this.payCount = payCount;
    }

    public String getPayNode() {
        return payNode;
    }

    public void setPayNode(String payNode) {
        this.payNode = payNode;
    }

    public Double getPayRatio() {
        return payRatio;
    }

    public void setPayRatio(Double payRatio) {
        this.payRatio = payRatio;
    }

    public Double getPayAmount() {
        return payAmount;
    }

    public void setPayAmount(Double payAmount) {
        this.payAmount = payAmount;
    }

    public Integer getPayWay() {
        return payWay;
    }

    public void setPayWay(Integer payWay) {
        this.payWay = payWay;
    }

    public String getPayWayName() {
        return payWayName;
    }

    public void setPayWayName(String payWayName) {
        this.payWayName = payWayName;
    }

    public Long getChannel() {
        return channel;
    }

    public void setChannel(Long channel) {
        this.channel = channel;
    }

    public String getChannelName() {
        return channelName;
    }

    public void setChannelName(String channelName) {
        this.channelName = channelName;
    }

    public Double getRefundAmount() {
        return refundAmount;
    }

    public void setRefundAmount(Double refundAmount) {
        this.refundAmount = refundAmount;
    }

    public Integer getOuterStatus() {
        return outerStatus;
    }

    public void setOuterStatus(Integer outerStatus) {
        this.outerStatus = outerStatus;
    }

    public String getOuterStatusName() {
        return outerStatusName;
    }

    public void setOuterStatusName(String outerStatusName) {
        this.outerStatusName = outerStatusName;
    }

    public Integer getInnerStatus() {
        return innerStatus;
    }

    public void setInnerStatus(Integer innerStatus) {
        this.innerStatus = innerStatus;
    }

    public String getInnerStatusName() {
        return innerStatusName;
    }

    public void setInnerStatusName(String innerStatusName) {
        this.innerStatusName = innerStatusName;
    }

    public String getRefundTime() {
        return refundTime;
    }

    public void setRefundTime(String refundTime) {
        this.refundTime = refundTime;
    }

    public PayProveBO getPayProve() {
        return payProve;
    }

    public void setPayProve(PayProveBO payProve) {
        this.payProve = payProve;
    }
}
